package org.jeecg.modules.storage.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusinessDto;
import org.jeecg.modules.storage.entity.BussStorageNoticeCarinfo;
import org.jeecg.modules.storage.entity.BussStorageNoticeMaterial;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @Description: 入库通知单-导出对象
 * @Author: jeecg-boot
 * @Date:   2024-06-18
 * @Version: V1.0
 */
@Data
@ApiModel(value="buss_storage_noticePage对象", description="入库通知单")
public class BussStorageNoticeExportPage extends FlowMyBusinessDto {


	/**主键*/
	@ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**单据编号*/
	@Excel(name = "单据编号", width = 15)
	@ApiModelProperty(value = "单据编号")
    private String code;
	/**单据类型*/
//	@Excel(name = "单据类型", width = 15)
//	@ApiModelProperty(value = "单据类型")
//    private String type;
	/**批次号*/
	@Excel(name = "批次号", width = 15)
	@ApiModelProperty(value = "批次号")
    private String lotNumber;
	/**进场日期*/
	@Excel(name = "进场日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "进场日期")
    private Date factoryTime;
	/**供应商*/
	@Excel(name = "供应商", width = 15)
	@ApiModelProperty(value = "供应商")
    private String supplierId;
	/**采购id*/
	@Excel(name = "采购id", width = 15)
	@ApiModelProperty(value = "采购id")
    private String procurementId;

//	/**
//	 * 到货类型
//	 */
//	@Excel(name = "供应商", width = 15)
//	private Integer arrayType;

	/**
	 * 状态
	 */
	@Excel(name = "状态", width = 15)
	private Integer status;



	@ExcelCollection(name="入库通知单-车辆信息")
	@ApiModelProperty(value = "入库通知单-车辆信息")
	private List<BussStorageNoticeCarinfo> bussStorageNoticeCarinfoList;
	@ExcelCollection(name="入库通知单原料单")
	@ApiModelProperty(value = "入库通知单原料单")
	private List<BussStorageNoticeMaterial> bussStorageNoticeMaterialList;
//	@ExcelCollection(name="入库通知单原料单")
//	@ApiModelProperty(value = "入库通知单原料单")
//	private List<BussStorageNoticeMaterialVo> bussStorageNoticeMaterialVoList;

	/**
	 * 原发数
	 */
	@Excel(name = "原发数", width = 15)
	private String originalNum;
	/**
	 * 实收数
	 */
	@Excel(name = "实收数", width = 15)
	private String 	actualNum;
	/**
	 * 物料批号
	 */
	@Excel(name = "物料批号", width = 15)
	private String materialLotNum;
	/**
	 * 物料id
	 */
	@Excel(name = "物料id", width = 15)
	private String materialId;
	/**
	 * 仓库
	 */
	@Excel(name = "仓库", width = 15)
	private String storehouse;
	/**
	 * 生产日期
	 */
	@Excel(name = "生产日期", width = 15)
	private String createDate;
	/**
	 * 限期日期
	 */
	@Excel(name = "限期日期", width = 15)
	private String expiryDate;
	/**
	 * 备注
	 */
	@Excel(name = "备注", width = 15)
	private String remark;
	/**
	 * 供应商名称
	 */
	@Excel(name = "供应商名称", width = 15)
	private String supplierName;
	/**
	 * 物料名称
	 */
	@Excel(name = "物料名称", width = 15)
	private String materialName;
	/**
	 * 物料编号
	 */
	@Excel(name = "物料编号", width = 15)
	private String materialCode;
	/**
	 * 采购数量
	 */
	@Excel(name = "采购数量", width = 15)
	private String procurementNum;
	/**
	 * 采购编号
	 */
	@Excel(name = "采购编号", width = 15)
	private String procurementCode;
	/**
	 * 单位
	 */
	@Excel(name = "单位", width = 15)
	private String unit;
	/**
	 * 规格
	 */
	@Excel(name = "规格", width = 15)
	private String spec;
	/**
	 * 业务节点
	 */
	@Excel(name = "业务节点", width = 15)
	private String businessNode;
	/**
	 * 物料大类
	 */
	@Excel(name = "物料大类", width = 15)
	private String materialTypeName;
	/**
	 * 业务类型
	 */
	@Excel(name = "业务类型", width = 15)
	private String businessType;

	/**
	 * 库位
	 */
	private String erpLocationName;

	private String erpLocationCode;

	private String erpLocationId;

	private String erpWarehouseName;

	private String erpWarehouseCode;

	/**
	 * 明细id
	 */
	private String detailId;

	@ApiModelProperty(value = "物料大类")
	private String materialTypeCode;

	@ApiModelProperty(value = "是否废弃")
	private Integer disuse;

	@Dict(dicCode = "inspection_results")
	@ApiModelProperty(value = "质检状态")
	private Integer qcStatus;

	private String detailStatus;

	@ApiModelProperty(value = "入库类型")
	private String storageType;

	/**
	 * 宝洁供应商编号
	 */
	@ApiModelProperty(value = "宝洁供应商编号")
	private String bjSupplierCode;
	/**
	 * 宝洁采购订单号
	 */
	@ApiModelProperty(value = "宝洁采购订单号")
	private String bjProcurementCode;
	/**
	 * 宝洁供应商名称
	 */
	@ApiModelProperty(value = "宝洁供应商名称")
	private String bjSupplierName;

}
